home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine CD 1995 / Archive Magazine CD 1995.iso / discs / prog_disc / volume_8 / issue_02 / arm_progs / de_comp3 < prev    next >
Unknown  |  1991-07-17  |  3.9 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert Truevision Targa Graphic (image/tga) magic Supported
100% file data default
100% xdgMime image/x-tga default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 49 f4 20 3e 64 | 65 2f 63 6f 6d 70 33 20 |...I. >d|e/comp3 |
|00000010| 20 20 2d 20 74 61 72 74 | 79 20 73 6d 61 72 74 20 | - tart|y smart |
|00000020| 67 72 61 66 69 78 20 63 | 6f 6d 70 72 65 73 73 69 |grafix c|ompressi|
|00000030| 6f 6e 20 2f 20 65 78 70 | 61 6e 73 69 6f 6e 20 62 |on / exp|ansion b|
|00000040| 79 20 47 61 6e 64 61 6c | 66 0d 00 14 05 f4 0d 00 |y Gandal|f.......|
|00000050| 1e 26 f4 20 20 20 65 6e | 68 61 6e 63 65 64 20 72 |.&. en|hanced r|
|00000060| 75 6e 20 6c 65 6e 67 74 | 68 20 63 6f 6d 70 61 63 |un lengt|h compac|
|00000070| 74 69 6f 6e 0d 00 28 05 | f4 0d 00 32 3a f4 20 2a |tion..(.|...2:. *|
|00000080| 20 6d 69 6e 6f 72 20 27 | 62 75 67 27 20 3a 20 74 | minor '|bug' : t|
|00000090| 68 65 20 6f 75 74 70 75 | 74 20 62 75 66 66 65 72 |he outpu|t buffer|
|000000a0| 20 69 73 20 6f 76 65 72 | 66 69 6c 6c 65 64 20 62 | is over|filled b|
|000000b0| 79 20 61 0d 00 3c 33 f4 | 20 66 65 77 20 28 31 20 |y a..<3.| few (1 |
|000000c0| 6f 72 20 32 29 20 62 79 | 74 65 73 20 73 6f 20 61 |or 2) by|tes so a|
|000000d0| 6c 6c 6f 77 20 61 20 62 | 69 74 20 65 78 74 72 61 |llow a b|it extra|
|000000e0| 20 73 70 61 63 65 0d 00 | 46 04 0d 00 50 08 eb 20 | space..|F...P.. |
|000000f0| 31 33 0d 00 5a 04 0d 00 | 64 0f de 20 63 6f 64 65 |13..Z...|d.. code|
|00000100| 20 34 30 39 36 0d 00 6e | 0d f2 61 73 73 65 6d 62 | 4096..n|..assemb|
|00000110| 6c 65 0d 00 78 24 f1 22 | 63 6f 64 65 20 6c 65 6e |le..x$."|code len|
|00000120| 67 74 68 20 22 3b 50 25 | 2d 63 6f 64 65 3b 22 20 |gth ";P%|-code;" |
|00000130| 62 79 74 65 73 22 0d 00 | 82 05 e0 0d 00 8c 05 3a |bytes"..|.......:|
|00000140| 0d 00 96 0e dd f2 61 73 | 73 65 6d 62 6c 65 0d 00 |......as|semble..|
|00000150| a0 04 0d 00 aa 2a 66 3d | 30 3a 71 3d 31 3a 69 31 |.....*f=|0:q=1:i1|
|00000160| 3d 32 3a 69 32 3d 33 3a | 74 69 70 3d 34 3a 74 73 |=2:i2=3:|tip=4:ts|
|00000170| 7a 3d 35 3a 63 3d 36 3a | 6f 64 3d 37 0d 00 b4 23 |z=5:c=6:|od=7...#|
|00000180| 73 7a 3d 31 30 3a 69 70 | 3d 31 31 3a 6f 70 3d 31 |sz=10:ip|=11:op=1|
|00000190| 32 3a 73 70 3d 31 33 3a | 6c 69 6e 6b 3d 31 34 0d |2:sp=13:|link=14.|
|000001a0| 00 be 04 0d 00 c8 14 e3 | 20 70 61 73 73 3d 30 20 |........| pass=0 |
|000001b0| b8 20 32 20 88 20 32 0d | 00 d2 0b 50 25 3d 63 6f |. 2 . 2.|...P%=co|
|000001c0| 64 65 0d 00 dc 0d 5b 4f | 50 54 20 70 61 73 73 0d |de....[O|PT pass.|
|000001d0| 00 e6 0d 2e 63 6f 6d 70 | 72 65 73 73 0d 00 f0 42 |....comp|ress...B|
|000001e0| 3b 45 4e 54 52 59 20 2d | 20 72 30 20 73 69 7a 65 |;ENTRY -| r0 size|
|000001f0| 20 6f 66 20 69 2f 70 20 | 64 61 74 61 2c 20 72 31 | of i/p |data, r1|
|00000200| 20 69 73 20 69 2f 70 20 | 70 6f 69 6e 74 65 72 2c | is i/p |pointer,|
|00000210| 20 72 32 20 69 73 20 6f | 2f 70 20 70 74 72 0d 00 | r2 is o|/p ptr..|
|00000220| fa 1f 3b 45 58 49 54 20 | 2d 20 72 30 20 73 69 7a |..;EXIT |- r0 siz|
|00000230| 65 20 6f 66 20 6f 2f 70 | 20 64 61 74 61 0d 01 04 |e of o/p| data...|
|00000240| 04 0d 01 0e 1b 73 74 6d | 66 64 20 28 73 70 29 21 |.....stm|fd (sp)!|
|00000250| 2c 7b 72 30 2d 72 32 2c | 72 31 34 7d 0d 01 18 04 |,{r0-r2,|r14}....|
|00000260| 0d 01 22 0d 6d 6f 76 20 | 73 7a 2c 72 30 0d 01 2c |..".mov |sz,r0..,|
|00000270| 0d 6d 6f 76 20 69 70 2c | 72 31 0d 01 36 0d 6d 6f |.mov ip,|r1..6.mo|
|00000280| 76 20 6f 70 2c 72 32 0d | 01 40 04 0d 01 4a 04 0d |v op,r2.|.@...J..|
|00000290| 01 54 04 0d 01 5e 11 2e | 63 6f 6d 70 72 65 73 73 |.T...^..|compress|
|000002a0| 6c 6f 6f 70 0d 01 68 04 | 0d 01 72 31 6d 6f 76 20 |loop..h.|..r1mov |
|000002b0| 74 69 70 2c 69 70 20 20 | 20 20 20 20 20 20 20 20 |tip,ip | |
|000002c0| 3b 73 74 61 72 74 20 6f | 75 72 20 74 65 6d 70 20 |;start o|ur temp |
|000002d0| 69 6e 70 75 74 20 70 74 | 72 0d 01 7c 0e 6d 6f 76 |input pt|r..|.mov|
|000002e0| 20 74 73 7a 2c 73 7a 0d | 01 86 04 0d 01 90 32 6c | tsz,sz.|......2l|
|000002f0| 64 72 62 20 69 31 2c 5b | 74 69 70 5d 2c 23 31 20 |drb i1,[|tip],#1 |
|00000300| 20 20 20 3b 61 6e 64 20 | 67 65 74 20 74 77 6f 20 | ;and |get two |
|00000310| 62 79 74 65 73 20 66 72 | 6f 6d 20 69 74 0d 01 9a |bytes fr|om it...|
|00000320| 3f 73 75 62 73 20 74 73 | 7a 2c 74 73 7a 2c 23 31 |?subs ts|z,tsz,#1|
|00000330| 3a 62 6c 65 20 6f 75 74 | 70 75 74 69 31 20 20 20 |:ble out|puti1 |
|00000340| 20 3b 69 66 20 77 65 27 | 76 65 20 66 69 6e 69 73 | ;if we'|ve finis|
|00000350| 68 65 64 20 74 68 65 6e | 20 65 6e 64 0d 01 a4 14 |hed then| end....|
|00000360| 6c 64 72 62 20 69 32 2c | 5b 74 69 70 5d 2c 23 31 |ldrb i2,|[tip],#1|
|00000370| 0d 01 ae 3f 73 75 62 73 | 20 74 73 7a 2c 74 73 7a |...?subs| tsz,tsz|
|00000380| 2c 23 31 3a 62 6c 65 20 | 6f 75 74 70 75 74 69 31 |,#1:ble |outputi1|
|00000390| 69 32 20 20 3b 69 66 20 | 77 65 27 76 65 20 66 69 |i2 ;if |we've fi|
|000003a0| 6e 69 73 68 65 64 20 74 | 68 65 6e 20 65 6e 64 0d |nished t|hen end.|
|000003b0| 01 b8 04 0d 01 c2 2d 6d | 6f 76 20 66 2c 23 32 20 |......-m|ov f,#2 |
|000003c0| 20 20 20 20 20 20 20 20 | 20 20 3b 61 6e 64 20 73 | | ;and s|
|000003d0| 74 61 72 74 20 6f 75 72 | 20 63 6f 75 6e 74 65 72 |tart our| counter|
|000003e0| 0d 01 cc 04 0d 01 d6 19 | 61 64 72 20 6c 69 6e 6b |........|adr link|
|000003f0| 2c 63 6f 6d 70 72 65 73 | 73 6c 69 6e 6b 0d 01 e0 |,compres|slink...|
|00000400| 04 0d 01 ea 29 63 6d 70 | 20 69 31 2c 69 32 20 20 |....)cmp| i1,i2 |
|00000410| 20 20 20 20 20 20 20 20 | 3b 61 72 65 20 74 68 65 | |;are the|
|00000420| 79 20 74 68 65 20 73 61 | 6d 65 0d 01 f4 34 62 65 |y the sa|me...4be|
|00000430| 71 20 73 63 61 6e 73 61 | 6d 65 20 20 20 20 20 20 |q scansa|me |
|00000440| 20 3b 79 65 73 2c 20 74 | 68 65 6e 20 64 6f 20 73 | ;yes, t|hen do s|
|00000450| 6f 6d 65 20 73 61 6d 65 | 20 73 74 75 66 66 0d 01 |ome same| stuff..|
|00000460| fe 2d 62 6e 65 20 73 63 | 61 6e 64 69 66 66 20 20 |.-bne sc|andiff |
|00000470| 20 20 20 20 20 3b 6e 6f | 2c 20 64 6f 20 73 6f 6d | ;no|, do som|
|00000480| 65 20 64 69 66 66 65 72 | 65 6e 74 0d 02 08 04 0d |e differ|ent.....|
|00000490| 02 12 11 2e 63 6f 6d 70 | 72 65 73 73 6c 69 6e 6b |....comp|resslink|
|000004a0| 0d 02 1c 04 0d 02 26 2b | 63 6d 70 20 73 7a 2c 23 |......&+|cmp sz,#|
|000004b0| 30 20 20 20 20 20 20 20 | 20 20 20 3b 66 69 6e 69 |0 | ;fini|
|000004c0| 73 68 65 64 20 74 68 65 | 20 64 61 74 61 20 3f 0d |shed the| data ?.|
|000004d0| 02 30 29 62 67 74 20 63 | 6f 6d 70 72 65 73 73 6c |.0)bgt c|ompressl|
|000004e0| 6f 6f 70 20 20 20 20 3b | 6e 6f 20 74 68 65 6e 20 |oop ;|no then |
|000004f0| 63 61 72 72 79 20 6f 6e | 0d 02 3a 04 0d 02 44 11 |carry on|..:...D.|
|00000500| 2e 65 6e 64 5f 63 6f 6d | 70 72 65 73 73 0d 02 4e |.end_com|press..N|
|00000510| 04 0d 02 58 1b 6c 64 6d | 66 64 20 28 73 70 29 21 |...X.ldm|fd (sp)!|
|00000520| 2c 7b 72 30 2d 72 32 2c | 72 31 34 7d 0d 02 62 10 |,{r0-r2,|r14}..b.|
|00000530| 73 75 62 20 72 30 2c 6f | 70 2c 72 32 0d 02 6c 0f |sub r0,o|p,r2..l.|
|00000540| 6d 6f 76 20 70 63 2c 6c | 69 6e 6b 0d 02 76 04 0d |mov pc,l|ink..v..|
|00000550| 02 80 32 2e 6f 75 74 70 | 75 74 69 31 20 20 20 20 |..2.outp|uti1 |
|00000560| 20 20 20 20 20 20 20 3b | 6f 75 74 70 75 74 20 27 | ;|output '|
|00000570| 31 2c 64 69 66 66 65 72 | 65 6e 74 27 20 26 20 69 |1,differ|ent' & i|
|00000580| 31 0d 02 8a 11 6d 6f 76 | 20 6f 64 2c 23 31 32 38 |1....mov| od,#128|
|00000590| 2b 31 0d 02 94 13 73 74 | 72 62 20 6f 64 2c 5b 6f |+1....st|rb od,[o|
|000005a0| 70 5d 2c 23 31 0d 02 9e | 13 73 74 72 62 20 69 31 |p],#1...|.strb i1|
|000005b0| 2c 5b 6f 70 5d 2c 23 31 | 0d 02 a8 14 6c 64 6d 66 |,[op],#1|....ldmf|
|000005c0| 64 20 28 73 70 29 21 2c | 7b 70 63 7d 0d 02 b2 04 |d (sp)!,|{pc}....|
|000005d0| 0d 02 bc 35 2e 6f 75 74 | 70 75 74 69 31 69 32 20 |...5.out|puti1i2 |
|000005e0| 20 20 20 20 20 20 20 20 | 3b 6f 75 74 70 75 74 20 | |;output |
|000005f0| 27 32 2c 64 69 66 66 65 | 72 65 6e 74 27 20 26 20 |'2,diffe|rent' & |
|00000600| 69 31 2c 69 32 0d 02 c6 | 11 6d 6f 76 20 6f 64 2c |i1,i2...|.mov od,|
|00000610| 23 31 32 38 2b 32 0d 02 | d0 13 73 74 72 62 20 6f |#128+2..|..strb o|
|00000620| 64 2c 5b 6f 70 5d 2c 23 | 31 0d 02 da 13 73 74 72 |d,[op],#|1....str|
|00000630| 62 20 69 31 2c 5b 6f 70 | 5d 2c 23 31 0d 02 e4 13 |b i1,[op|],#1....|
|00000640| 73 74 72 62 20 69 32 2c | 5b 6f 70 5d 2c 23 31 0d |strb i2,|[op],#1.|
|00000650| 02 ee 14 6c 64 6d 66 64 | 20 28 73 70 29 21 2c 7b |...ldmfd| (sp)!,{|
|00000660| 70 63 7d 0d 02 f8 04 0d | 03 02 0d 2e 73 63 61 6e |pc}.....|....scan|
|00000670| 73 61 6d 65 0d 03 0c 29 | 6c 64 72 62 20 69 32 2c |same...)|ldrb i2,|
|00000680| 5b 74 69 70 5d 20 20 20 | 20 20 20 3b 67 65 74 20 |[tip] | ;get |
|00000690| 74 68 65 20 6e 65 78 74 | 20 62 79 74 65 0d 03 16 |the next| byte...|
|000006a0| 04 0d 03 20 3f 73 75 62 | 73 20 74 73 7a 2c 74 73 |... ?sub|s tsz,ts|
|000006b0| 7a 2c 23 31 3a 62 6c 65 | 20 65 78 69 74 73 63 61 |z,#1:ble| exitsca|
|000006c0| 6e 73 61 6d 65 20 3b 66 | 69 6e 69 73 68 65 64 20 |nsame ;f|inished |
|000006d0| 64 61 74 61 20 3f 20 74 | 68 65 6e 20 65 6e 64 2e |data ? t|hen end.|
|000006e0| 0d 03 2a 04 0d 03 34 1f | 63 6d 70 20 69 31 2c 69 |..*...4.|cmp i1,i|
|000006f0| 32 20 20 20 20 20 20 20 | 20 20 20 20 3b 73 61 6d |2 | ;sam|
|00000700| 65 20 3f 0d 03 3e 31 61 | 64 64 65 71 20 66 2c 66 |e ?..>1a|ddeq f,f|
|00000710| 2c 23 31 20 20 20 20 20 | 20 20 20 3b 79 65 73 2c |,#1 | ;yes,|
|00000720| 20 74 68 65 6e 20 69 6e | 63 72 65 61 73 65 20 63 | then in|crease c|
|00000730| 6f 75 6e 74 0d 03 48 29 | 61 64 64 65 71 20 74 69 |ount..H)|addeq ti|
|00000740| 70 2c 74 69 70 2c 23 31 | 20 20 20 20 3b 20 6d 6f |p,tip,#1| ; mo|
|00000750| 76 65 20 6f 75 72 20 70 | 74 72 20 6f 6e 0d 03 52 |ve our p|tr on..R|
|00000760| 22 62 65 71 20 73 63 61 | 6e 73 61 6d 65 20 20 20 |"beq sca|nsame |
|00000770| 20 20 20 20 20 3b 20 61 | 6e 64 20 6c 6f 6f 70 0d | ; a|nd loop.|
|00000780| 03 5c 04 0d 03 66 11 2e | 65 78 69 74 73 63 61 6e |.\...f..|exitscan|
|00000790| 73 61 6d 65 0d 03 70 04 | 0d 03 7a 27 73 75 62 20 |same..p.|..z'sub |
|000007a0| 20 73 7a 2c 73 7a 2c 66 | 20 20 20 20 20 20 20 20 | sz,sz,f| |
|000007b0| 3b 64 65 63 72 65 6d 65 | 6e 74 20 73 69 7a 65 0d |;decreme|nt size.|
|000007c0| 03 84 04 0d 03 8e 13 2e | 6f 75 74 70 75 74 73 61 |........|outputsa|
|000007d0| 6d 65 6c 6f 6f 70 0d 03 | 98 16 6d 6f 76 20 63 2c |meloop..|..mov c,|
|000007e0| 66 3a 63 6d 70 20 63 2c | 23 31 32 37 0d 03 a2 29 |f:cmp c,|#127...)|
|000007f0| 6d 6f 76 67 74 20 63 2c | 23 31 32 37 20 20 20 20 |movgt c,|#127 |
|00000800| 20 20 20 20 3b 63 6c 69 | 70 20 74 6f 20 31 32 37 | ;cli|p to 127|
|00000810| 20 6d 61 78 2e 0d 03 ac | 2a 73 75 62 20 66 2c 66 | max....|*sub f,f|
|00000820| 2c 63 20 20 20 20 20 20 | 20 20 20 20 20 3b 64 65 |,c | ;de|
|00000830| 63 72 65 6d 65 6e 74 20 | 63 6f 75 6e 74 65 72 0d |crement |counter.|
|00000840| 03 b6 2b 73 74 72 62 20 | 63 2c 5b 6f 70 5d 2c 23 |..+strb |c,[op],#|
|00000850| 31 20 20 20 20 20 20 3b | 73 74 6f 72 65 20 6e 6f |1 ;|store no|
|00000860| 2e 20 6f 66 20 62 79 74 | 65 73 0d 03 c0 2b 73 74 |. of byt|es...+st|
|00000870| 72 62 20 69 31 2c 5b 6f | 70 5d 2c 23 31 20 20 20 |rb i1,[o|p],#1 |
|00000880| 20 20 3b 73 74 6f 72 65 | 20 62 79 74 65 20 66 6c | ;store| byte fl|
|00000890| 61 76 6f 75 72 0d 03 ca | 23 63 6d 70 20 66 2c 23 |avour...|#cmp f,#|
|000008a0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 66 69 |0 | ;fi|
|000008b0| 6e 69 73 68 65 64 20 3f | 0d 03 d4 26 62 67 74 20 |nished ?|...&bgt |
|000008c0| 6f 75 74 70 75 74 73 61 | 6d 65 6c 6f 6f 70 20 20 |outputsa|meloop |
|000008d0| 3b 6e 6f 2c 20 74 68 65 | 6e 20 6c 6f 6f 70 0d 03 |;no, the|n loop..|
|000008e0| de 04 0d 03 e8 0e 6d 6f | 76 20 69 70 2c 74 69 70 |......mo|v ip,tip|
|000008f0| 0d 03 f2 04 0d 03 fc 27 | 6d 6f 76 73 20 70 63 2c |.......'|movs pc,|
|00000900| 6c 69 6e 6b 20 20 20 20 | 20 20 20 20 3b 65 6e 64 |link | ;end|
|00000910| 20 73 75 62 72 6f 75 74 | 69 6e 65 0d 04 06 04 0d | subrout|ine.....|
|00000920| 04 10 0d 2e 73 63 61 6e | 64 69 66 66 0d 04 1a 2c |....scan|diff...,|
|00000930| 6c 64 72 62 20 69 31 2c | 5b 74 69 70 5d 20 20 20 |ldrb i1,|[tip] |
|00000940| 20 20 20 20 20 20 3b 67 | 65 74 20 74 68 65 20 6e | ;g|et the n|
|00000950| 65 78 74 20 62 79 74 65 | 0d 04 24 2c 6c 64 72 62 |ext byte|..$,ldrb|
|00000960| 20 6f 64 2c 5b 74 69 70 | 2c 23 31 5d 20 20 20 20 | od,[tip|,#1] |
|00000970| 20 20 3b 67 65 74 20 74 | 68 65 20 6e 65 78 74 20 | ;get t|he next |
|00000980| 62 79 74 65 0d 04 2e 04 | 0d 04 38 3f 73 75 62 73 |byte....|..8?subs|
|00000990| 20 74 73 7a 2c 74 73 7a | 2c 23 31 3a 62 6c 65 20 | tsz,tsz|,#1:ble |
|000009a0| 65 78 69 74 73 63 61 6e | 64 69 66 66 20 3b 66 69 |exitscan|diff ;fi|
|000009b0| 6e 69 73 68 65 64 20 64 | 61 74 61 20 3f 20 74 68 |nished d|ata ? th|
|000009c0| 65 6e 20 65 6e 64 2e 0d | 04 42 04 0d 04 4c 24 63 |en end..|.B...L$c|
|000009d0| 6d 70 20 69 31 2c 6f 64 | 20 20 20 20 20 20 20 20 |mp i1,od| |
|000009e0| 20 20 20 3b 64 69 66 66 | 65 72 65 6e 74 20 3f 0d | ;diff|erent ?.|
|000009f0| 04 56 31 61 64 64 6e 65 | 20 66 2c 66 2c 23 31 20 |.V1addne| f,f,#1 |
|00000a00| 20 20 20 20 20 20 20 3b | 79 65 73 2c 20 74 68 65 | ;|yes, the|
|00000a10| 6e 20 69 6e 63 72 65 61 | 73 65 20 63 6f 75 6e 74 |n increa|se count|
|00000a20| 0d 04 60 29 61 64 64 6e | 65 20 74 69 70 2c 74 69 |..`)addn|e tip,ti|
|00000a30| 70 2c 23 31 20 20 20 20 | 3b 20 6d 6f 76 65 20 6f |p,#1 |; move o|
|00000a40| 75 72 20 70 74 72 20 6f | 6e 0d 04 6a 22 62 6e 65 |ur ptr o|n..j"bne|
|00000a50| 20 73 63 61 6e 64 69 66 | 66 20 20 20 20 20 20 20 | scandif|f |
|00000a60| 20 3b 20 61 6e 64 20 6c | 6f 6f 70 0d 04 74 04 0d | ; and l|oop..t..|
|00000a70| 04 7e 11 2e 65 78 69 74 | 73 63 61 6e 64 69 66 66 |.~..exit|scandiff|
|00000a80| 0d 04 88 04 0d 04 92 0f | 73 75 62 20 73 7a 2c 73 |........|sub sz,s|
|00000a90| 7a 2c 66 0d 04 9c 04 0d | 04 a6 13 2e 6f 75 74 70 |z,f.....|....outp|
|00000aa0| 75 74 64 69 66 66 6c 6f | 6f 70 0d 04 b0 35 6d 6f |utdifflo|op...5mo|
|00000ab0| 76 20 63 2c 66 3a 63 6d | 70 20 63 2c 23 31 32 37 |v c,f:cm|p c,#127|
|00000ac0| 3a 6d 6f 76 67 65 20 63 | 2c 23 31 32 37 20 3b 63 |:movge c|,#127 ;c|
|00000ad0| 6c 69 70 20 74 6f 20 31 | 32 37 20 6d 61 78 2e 0d |lip to 1|27 max..|
|00000ae0| 04 ba 36 73 75 62 20 66 | 2c 66 2c 63 20 20 20 20 |..6sub f|,f,c |
|00000af0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b00| 20 20 20 3b 64 65 63 72 | 65 6d 65 6e 74 20 63 6f | ;decr|ement co|
|00000b10| 75 6e 74 65 72 0d 04 c4 | 37 6f 72 72 20 63 2c 63 |unter...|7orr c,c|
|00000b20| 2c 23 31 32 38 20 20 20 | 20 20 20 20 20 20 20 20 |,#128 | |
|00000b30| 20 20 20 20 20 20 20 20 | 20 3b 73 65 74 20 64 69 | | ;set di|
|00000b40| 66 66 65 72 65 6e 74 20 | 66 6c 61 67 0d 04 ce 37 |fferent |flag...7|
|00000b50| 73 74 72 62 20 63 2c 5b | 6f 70 5d 2c 23 31 20 20 |strb c,[|op],#1 |
|00000b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b70| 3b 73 74 6f 72 65 20 6e | 6f 2e 20 6f 66 20 62 79 |;store n|o. of by|
|00000b80| 74 65 73 0d 04 d8 10 61 | 6e 64 20 63 2c 63 2c 23 |tes....a|nd c,c,#|
|00000b90| 31 32 37 0d 04 e2 04 0d | 04 ec 14 2e 6f 75 74 70 |127.....|....outp|
|00000ba0| 75 74 64 69 66 66 6c 6f | 6f 70 32 0d 04 f6 36 6c |utdifflo|op2...6l|
|00000bb0| 64 72 62 20 69 31 2c 5b | 69 70 5d 2c 23 31 20 20 |drb i1,[|ip],#1 |
|00000bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00000bd0| 6c 6f 61 64 20 62 79 74 | 65 20 66 6c 61 76 6f 75 |load byt|e flavou|
|00000be0| 72 0d 05 00 13 73 74 72 | 62 20 69 31 2c 5b 6f 70 |r....str|b i1,[op|
|00000bf0| 5d 2c 23 31 0d 05 0a 34 | 73 75 62 73 20 63 2c 63 |],#1...4|subs c,c|
|00000c00| 2c 23 31 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#1 | |
|00000c10| 20 20 20 20 20 20 20 20 | 3b 64 6f 6e 65 20 74 68 | |;done th|
|00000c20| 69 73 20 6c 6f 74 20 3f | 0d 05 14 32 62 67 74 20 |is lot ?|...2bgt |
|00000c30| 6f 75 74 70 75 74 64 69 | 66 66 6c 6f 6f 70 32 20 |outputdi|ffloop2 |
|00000c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 6e 6f 2c | | ;no,|
|00000c50| 20 74 68 65 6e 20 6c 6f | 6f 70 0d 05 1e 04 0d 05 | then lo|op......|
|00000c60| 28 2f 63 6d 70 20 66 2c | 23 30 20 20 20 20 20 20 |(/cmp f,|#0 |
|00000c70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c80| 20 20 3b 66 69 6e 69 73 | 68 65 64 20 3f 0d 05 32 | ;finis|hed ?..2|
|00000c90| 32 62 67 74 20 6f 75 74 | 70 75 74 64 69 66 66 6c |2bgt out|putdiffl|
|00000ca0| 6f 6f 70 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |oop | |
|00000cb0| 20 3b 6e 6f 2c 20 74 68 | 65 6e 20 6c 6f 6f 70 0d | ;no, th|en loop.|
|00000cc0| 05 3c 32 6d 6f 76 73 20 | 70 63 2c 6c 69 6e 6b 20 |.<2movs |pc,link |
|00000cd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ce0| 20 20 3b 65 6e 64 20 73 | 75 62 72 6f 75 74 69 6e | ;end s|ubroutin|
|00000cf0| 65 0d 05 46 04 0d 05 50 | 4a 2e 65 78 70 61 6e 64 |e..F...P|J.expand|
|00000d00| 20 3b ee 20 45 4e 54 52 | 59 20 72 30 20 73 69 7a | ;. ENTR|Y r0 siz|
|00000d10| 65 20 6f 66 20 6f 2f 70 | 20 64 61 74 61 2c 20 72 |e of o/p| data, r|
|00000d20| 31 20 69 73 20 6f 2f 70 | 20 70 6f 69 6e 74 65 72 |1 is o/p| pointer|
|00000d30| 2c 20 72 32 20 69 73 20 | 69 2f 70 20 70 74 72 0d |, r2 is |i/p ptr.|
|00000d40| 05 5a 16 73 74 6d 66 64 | 20 28 73 70 29 21 2c 7b |.Z.stmfd| (sp)!,{|
|00000d50| 6c 69 6e 6b 7d 0d 05 64 | 04 0d 05 6e 0d 6d 6f 76 |link}..d|...n.mov|
|00000d60| 20 73 7a 2c 72 30 0d 05 | 78 11 3b 73 75 62 20 73 | sz,r0..|x.;sub s|
|00000d70| 7a 2c 72 30 2c 23 31 0d | 05 82 0d 6d 6f 76 20 6f |z,r0,#1.|...mov o|
|00000d80| 70 2c 72 31 0d 05 8c 0d | 6d 6f 76 20 69 70 2c 72 |p,r1....|mov ip,r|
|00000d90| 32 0d 05 96 04 0d 05 a0 | 0c 2e 65 78 70 6c 6f 6f |2.......|..exploo|
|00000da0| 70 0d 05 aa 04 0d 05 b4 | 13 6c 64 72 62 20 69 31 |p.......|.ldrb i1|
|00000db0| 2c 5b 69 70 5d 2c 23 31 | 0d 05 be 04 0d 05 c8 17 |,[ip],#1|........|
|00000dc0| 61 64 72 20 6c 69 6e 6b | 2c 65 78 70 61 6e 64 6c |adr link|,expandl|
|00000dd0| 69 6e 6b 0d 05 d2 0f 74 | 73 74 20 69 31 2c 23 31 |ink....t|st i1,#1|
|00000de0| 32 38 0d 05 dc 0f 62 65 | 71 20 65 78 70 73 61 6d |28....be|q expsam|
|00000df0| 65 0d 05 e6 0f 62 67 74 | 20 65 78 70 64 69 66 66 |e....bgt| expdiff|
|00000e00| 0d 05 f0 0f 2e 65 78 70 | 61 6e 64 6c 69 6e 6b 0d |.....exp|andlink.|
|00000e10| 05 fa 04 0d 06 04 0d 63 | 6d 70 20 73 7a 2c 23 30 |.......c|mp sz,#0|
|00000e20| 0d 06 0e 0f 62 67 74 20 | 65 78 70 6c 6f 6f 70 0d |....bgt |exploop.|
|00000e30| 06 18 04 0d 06 22 0e 2e | 65 6e 64 65 78 70 61 6e |....."..|endexpan|
|00000e40| 64 0d 06 2c 04 0d 06 36 | 16 6c 64 6d 66 64 20 28 |d..,...6|.ldmfd (|
|00000e50| 73 70 29 21 2c 7b 6c 69 | 6e 6b 7d 0d 06 40 04 0d |sp)!,{li|nk}..@..|
|00000e60| 06 4a 0c 2e 65 78 70 73 | 61 6d 65 0d 06 54 13 6c |.J..exps|ame..T.l|
|00000e70| 64 72 62 20 69 32 2c 5b | 69 70 5d 2c 23 31 0d 06 |drb i2,[|ip],#1..|
|00000e80| 5e 11 73 75 62 73 20 73 | 7a 2c 73 7a 2c 69 31 0d |^.subs s|z,sz,i1.|
|00000e90| 06 68 10 2e 65 78 70 73 | 61 6d 65 6c 6f 6f 70 0d |.h..exps|ameloop.|
|00000ea0| 06 72 13 73 74 72 62 20 | 69 32 2c 5b 6f 70 5d 2c |.r.strb |i2,[op],|
|00000eb0| 23 31 0d 06 7c 11 73 75 | 62 73 20 69 31 2c 69 31 |#1..|.su|bs i1,i1|
|00000ec0| 2c 23 31 0d 06 86 13 62 | 67 74 20 65 78 70 73 61 |,#1....b|gt expsa|
|00000ed0| 6d 65 6c 6f 6f 70 0d 06 | 90 04 0d 06 9a 14 2e 65 |meloop..|.......e|
|00000ee0| 78 69 74 65 78 70 73 61 | 6d 65 6c 6f 6f 70 0d 06 |xitexpsa|meloop..|
|00000ef0| a4 10 6d 6f 76 73 20 70 | 63 2c 6c 69 6e 6b 0d 06 |..movs p|c,link..|
|00000f00| ae 04 0d 06 b8 0c 2e 65 | 78 70 64 69 66 66 0d 06 |.......e|xpdiff..|
|00000f10| c2 12 61 6e 64 20 69 31 | 2c 69 31 2c 23 31 32 37 |..and i1|,i1,#127|
|00000f20| 0d 06 cc 10 73 75 62 20 | 73 7a 2c 73 7a 2c 69 31 |....sub |sz,sz,i1|
|00000f30| 0d 06 d6 10 2e 65 78 70 | 64 69 66 66 6c 6f 6f 70 |.....exp|diffloop|
|00000f40| 0d 06 e0 13 6c 64 72 62 | 20 69 32 2c 5b 69 70 5d |....ldrb| i2,[ip]|
|00000f50| 2c 23 31 0d 06 ea 13 73 | 74 72 62 20 69 32 2c 5b |,#1....s|trb i2,[|
|00000f60| 6f 70 5d 2c 23 31 0d 06 | f4 04 0d 06 fe 21 73 75 |op],#1..|.....!su|
|00000f70| 62 73 20 69 31 2c 69 31 | 2c 23 31 3a 62 67 74 20 |bs i1,i1|,#1:bgt |
|00000f80| 65 78 70 64 69 66 66 6c | 6f 6f 70 0d 07 08 04 0d |expdiffl|oop.....|
|00000f90| 07 12 14 2e 65 78 69 74 | 65 78 70 64 69 66 66 6c |....exit|expdiffl|
|00000fa0| 6f 6f 70 0d 07 1c 10 6d | 6f 76 73 20 70 63 2c 6c |oop....m|ovs pc,l|
|00000fb0| 69 6e 6b 0d 07 26 04 0d | 07 30 0a 5d ed 70 61 73 |ink..&..|.0.].pas|
|00000fc0| 73 0d 07 3a 05 e1 0d ff | |s..:....| |
+--------+-------------------------+-------------------------+--------+--------+